
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[SP_TDAMAR_ANTC_D01]
/*-------------------------------------------------------*/        
/*---Empresa              : OFISIS S.A.                --*/        
/*---Cliente              : SANTILLANA                 --*/        
/*---Sistema              : Tesoreria                  --*/        
/*---M?dulo               : Empresa                    --*/        
/*---Programa             : Anulaci?n (1x1 Detallado)  --*/        
/*---                       Detalle Amarre Antic.-CXCB --*/        
/*---Script               : tdbanc_p.sql               --*/        
/*---Nombre SP            : SP_TDAMAR_ANTC_D01         --*/        
/*---Desarrollado por     : EVP               --*/        
/*---Fecha Creaci?n       : 11/04/2001                 --*/        
/*---Base Datos           : Oracle           --*/        
/*---Versi?n              : 8.0                        --*/        
/*---Invoca a SP          :                            --*/        
/*-------------------------------------------------------*/        
/*-------------------------------------------------------*/        
/*---Modificado 1 por     : Maribel Julca Rodriguez    --*/        
/*---Fecha Modificaci©n   : 21/04/2005                 --*/         
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA, CO_USUA_MODI  --*/        
/*-------------------------------------------------------*/        
/*-------------------------------------------------------*/        
/*---Comentarios                                       --*/        
/*---                                                  --*/        
/*---                                                  --*/        
/*-------------------------------------------------------*/        
/*-------------------------------------------------------*/        
/*---Drop Proc SP_TDAMAR_ANTC_D01                      --*/        
/*---Grant all on SP_TDAMAR_ANTC_D01 to public         --*/         
/*---SP_TDAMAR_ANTC_D01                                --*/        
/*-------------------------------------------------------*/        
@ISCO_EMPR   TD_VC_002,        
@ISCO_USUA_MODI  TD_VC_008_USUA,        
@ISNU_AMAR   TD_VC_008,        
@IDFE_AMAR  TD_DT_001,        
@INNU_SECU   TD_IN_001,        
@ISCO_ENTI   TD_VC_020,        
@ISTI_ENTI   TD_VC_001,        
@ISTI_DOCU_ENTI  TD_VC_003,        
@ISNU_DOCU_ENTI  TD_VC_020,        
@INIM_CONV_DOCU  TD_NU_016_004,        
@ISTI_DOCU   TD_VC_003,        
@ISCO_MONE   TD_VC_003,        
@INFA_TIPO_CAMB  TD_NU_009_004,        
@INIM_MOVI_DOCU  TD_NU_016_004,        
@ISCO_UNID_CONC  TD_VC_003      
 As      
Declare             
    @VNIM_MOVI_ANTE   TD_NU_016_004,        
    @VNIM_TOTA    TD_NU_016_004,        
    @VSST_SIGN        TD_VC_001,        
    @VNIM_PRES_REAL   TD_NU_016_004,        
    @VNIM_TOTA_CLIE   TD_NU_016_004,        
    @VNIM_TOTA_PROV  TD_NU_016_004,        
    @VSTI_DOCU_TICK  TD_VC_003,        
    @VSCO_ESTA_LETR     TD_VC_003,         
    @VNNU_SECU          TD_IN_001    ,     
    @VSTI_DOCU_PERC   TD_VC_003    
        
Begin Tran SP_TDAMAR_ANTC_D01        
        
Begin        
        
  Select  @VSTI_DOCU_PERC = TI_DOCU      
 From TTDOCU_CNTB      
 Where ST_DOCU_0020 = 'S'      
    
     Delete   TDAMAR_ANTC        
     Where    CO_EMPR = @ISCO_EMPR        
       And CO_UNID_CONC = @ISCO_UNID_CONC        
              And NU_AMAR = @ISNU_AMAR        
       And FE_AMAR = @IDFE_AMAR        
              And NU_SECU = @INNU_SECU          
        
   /* Para Actualizacion de Ventas        
   Begin        
      Select  @VSTI_DOCU_TICK = TI_DOCU_TICK        
      From    TMPARA_VENT        
      Where   CO_EMPR = @ISCO_EMPR         
   End         
   */        
           
     If @ISTI_DOCU_ENTI != @ISTI_DOCU           
 BEGIN        
           If @ISTI_ENTI = 'C'           
  BEGIN        
                      
 If    @ISTI_DOCU_ENTI = @VSTI_DOCU_PERC And         
  Exists ( Select NU_COMP_PERC From TCCOMP_PERC Where CO_EMPR = @ISCO_EMPR And NU_COMP_PERC = @ISNU_DOCU_ENTI )        
       
  Begin        
     Exec SP_TCPERC_ANUL_D02 @ISCO_EMPR, @ISCO_USUA_MODI, @ISCO_ENTI, @ISNU_DOCU_ENTI, null, null, null,null,null,@ISNU_AMAR    
             
   If @@error <> 0        
 Begin        
      Rollback Tran SP_TDAMAR_ANTC_D01        
      Return        
    End        
   End      
   else     
      Update  TMDOCU_CLIE        
                    Set     IM_PAGA = IsNull(IM_PAGA,0) - Round(@INIM_CONV_DOCU,2), CO_ESTA_DOCU = 'ACT',        
                            FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
                    Where CO_EMPR = @ISCO_EMPR         
                   And CO_TIPO_DOCU = @ISTI_DOCU_ENTI         
                    And NU_DOCU_CLIE = @ISNU_DOCU_ENTI         
        
     /*        
         Update  TCDOCU_CLIE        
                    Set     IM_PAGA = IsNull(IM_PAGA,0) - Round(@INIM_CONV_DOCU,2), CO_ESTA_DOCU = 'ACT',         
           FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
                    Where CO_EMPR = @ISCO_EMPR         
                    And TI_DOCU = @ISTI_DOCU_ENTI         
                    And NU_DOCU = @ISNU_DOCU_ENTI        
          And TI_DOCU != @VSTI_DOCU_TICK */          
   END         
            Else          
                    Update  TMDOCU_PROV        
                  Set     IM_PAGA = IsNull(IM_PAGA,0) - Round(@INIM_CONV_DOCU,2), CO_ESTA_DOCU = 'ACT',        
                            FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
                    Where CO_EMPR = @ISCO_EMPR         
                    And CO_PROV = @ISCO_ENTI         
                   And CO_TIPO_DOCU = @ISTI_DOCU_ENTI         
                   And NU_DOCU_PROV = @ISNU_DOCU_ENTI         
 END -- FIN DOC != LETRAS        
        
     Else -- DOC = LETRAS        
 BEGIN        
            If @ISTI_ENTI = 'C'           
               Begin        
                 Select @VSCO_ESTA_LETR = CO_ESTA_DOCU         
                 From   TMLETR_CLIE        
                 Where  CO_EMPR = @ISCO_EMPR        
                 And    NU_LETR_CLIE = @ISNU_DOCU_ENTI        
        
                 Update TMLETR_CLIE        
                 Set  IM_PAGA = IsNull(IM_PAGA,0) - Round(@INIM_CONV_DOCU,2) , CO_ESTA_DOCU = 'ACE',        
                       FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
                 Where  CO_EMPR = @ISCO_EMPR         
                 And    NU_LETR_CLIE  = @ISNU_DOCU_ENTI         
        
                 Select @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1     
                 From   TDKARD_DOCU        
                 Where  CO_EMPR = @ISCO_EMPR        
        
                 Insert Into TDKARD_DOCU (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_ESTA_ACTU,        
                                        CO_ESTA_DOCU, NU_CORR_MODI, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)        
                 Values ( @ISCO_EMPR, @VNNU_SECU , @ISTI_DOCU, @ISNU_DOCU_ENTI, @ISCO_ENTI,        
                  'ACE',  @VSCO_ESTA_LETR, @VNNU_SECU, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())          
         
                 If @@error <> 0        
                    Begin        
                      Rollback tran        
                      Return        
                    End        
               End        
             Else         
               Begin        
                 Select @VSCO_ESTA_LETR = CO_ESTA_DOCU         
                 From   TMLETR_PROV        
                 Where  CO_EMPR = @ISCO_EMPR        
                 And    CO_PROV = @ISCO_ENTI        
                 And    NU_LETR_PROV = @ISNU_DOCU_ENTI        
        
                 Update  TMLETR_PROV         
                 Set     IM_PAGA = IsNull(IM_PAGA,0) - Round(@INIM_CONV_DOCU,2) , CO_ESTA_DOCU = 'ACE',        
                         FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
                 Where   CO_EMPR = @ISCO_EMPR         
                 And CO_PROV = @ISCO_ENTI        
               And NU_LETR_PROV  = @ISNU_DOCU_ENTI         
        
                 Select @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1        
                 From   TDKARD_DOCP        
                 Where  CO_EMPR = @ISCO_EMPR        
        
                 Insert Into TDKARD_DOCP (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, CO_ESTA_ACTU,        
                                        CO_ESTA_DOCU, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI )        
                 Values ( @ISCO_EMPR, @VNNU_SECU , @ISTI_DOCU, @ISNU_DOCU_ENTI, @ISCO_ENTI,        
                  'ACE',  @VSCO_ESTA_LETR, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())          
         
                 If @@error <> 0        
                    Begin        
                      Rollback tran        
                      Return        
                    End        
        
               End        
 END        
        
      If @@error <> 0        
         Begin        
           Rollback tran        
           Return        
         End        
        
END         
COMMIT TRAN        
/*------------------------ Fin ------------------------------*/ 

GO
